/*
  isNaN 与 Number.isNaN
    isNaN: 会将数据转换为number，在对number进行是否为NaN判断

    Number.isNaN: 判断是否为number, 在判断是否为NaN，中间不会进行数字转换
        
    Array.prototype.indexOf()   // 判断不了NaN
    Array.prototype.includes()  // 可以判断NaN
*/
function isNaNVal(val) {
  return Object.is(val, NaN);
}

function isNaNVal(val) {
  return val !== val;
}

function isNaNVal(val) {
  return typeof val === "number" && isNaN(val);
}

// 综合垫片
if (!("isNaN" in Number)) {
  Number.isNaN = function (val) {
    return typeof val === "number" && isNaN(val);
  };
}
